Business data is collected in many ways and stored within databases. It is desirable to automatically generate electronic documents from this data. For example, the electronic documents may be any textual document, an HTML document, and OpenOffice document, or spreadsheets. Examples of the types of documents include invoices, proposals, and reports, among others. A particular form of database is the entity-relationship model database.
Existing electronic document generation systems use electronic document templates to describe the form of documentation to be generated, and include macro placeholders to inject data. However they do not take advantage of the unique opportunities provided by an entity-relationship model database to report on related data.
Document generation usually consists of drawing data from a data source, such as a SQL database, and using this data to create the document. A common approach to document generation is to provide a document template, which is a document itself that appears similar to the intended resultant document. However, the template includes placeholder macros that indicate where certain data values should be inserted into the electronic document. An electronic document generator uses the document template and the data source in order to create the resulting generated electronic document.
Existing systems only offer the ability to repeat sections in a template in a limited form, such as within tables.